home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
8bitfiles.net/archives
/
archives.tar
/
archives
/
commodore-users-of-norman
/
CUON_13_(11-1984).d64
/
64 timepiece
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2019-04-13
|
3KB
|
121 lines
10 S=54272
12 FORL=STOS+24:POKEL,0:NEXT
14 POKES+5,9:POKES+15,30:POKES+12,9
20 POKE657,0:POKE53280,6
30 DIMA(40),B(48)
40 POKE53280,1:POKE53281,1:C=54272
50 PRINT"[147][144]"TAB(13)"64 TIMEPIECE[146]":PRINTTAB(7)"TO SET TIME,PRESS ANY KEY"
60 PRINT" WHEN ENTERING TIME, GIVE HOURS AND MINUTES IN THIS MANNER:";
70 PRINT"[157][157][157][157][157][157][157][157][157]915RETURN[146] OR[157][157][157][157][157][157][157][157][157][157][157][157][157]";
80 PRINT"1231RETURN[146]":PRINTTAB(92)"(PRESS ANY KEY)"
83 POKE198,0
85 GETA$:IFA$=""THEN85
90 GOSUB1000
100 REM DRAW CLOCK
101 PRINT "[144] [146]"
102 FORI=1TO23:PRINTTAB(8)" [146]"TAB(31)" [146]":NEXT
103 PRINT" [146]";
105 PRINT""TAB(21)" "
110 PRINT"[144] [145][157][146][172]1234 "
120 PRINT"[144] 1122334455 "
130 PRINT"[144]50505050505 "
140 PRINT"[144] 111 "
150 PRINT"[144]123456789012 [146][169]"
160 PRINTTAB(26)"[169][157][157][169][146][169][157][157][157][169][146][169]"
170 PRINTTAB(9)" [209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][145][145][145][145][145]";:POKE1974,81:POKE1974+C,6
200 U=0
210 FORI=1974TO1094STEP-40:A(U)=I:U=U+1:NEXT
212 FORI=1093TO1084STEP-1:A(U)=I:U=U+1:NEXT
214 FORI=1123TO1243STEP40:A(U)=I:U=U+1:NEXT
216 FORI=1242TO1239STEP-1:A(U)=I:U=U+1:NEXT
218 U=1
220 FORI=1235TO1247:B(U)=I:U=U+1:NEXT
222 FORI=1287TO1447STEP40:B(U)=I:U=U+1:NEXT
224 B(U)=1448:B(U+1)=1449:U=U+2
226 FORI=1489TO1689STEP40:B(U)=I:U=U+1:NEXT
227 B(U)=1690:B(U+1)=1730:B(U+2)=1770:B(U+3)=1809
228 B(U+4)=1848:B(U+5)=1887:B(U+6)=1926:GOTO900
300 REM START OF BALL MOVEMENT ROUTINE
310 FORX=0TO40
320 POKEA(X),81:POKEA(X)+C,6
325 IFX>22THENPOKEA(X-1),32
330 IFX>1ANDX<24THENPOKEA(X-1),99:POKEA(X-1)+C,6
340 IFX>2THENPOKEA(X-2),32
350 GOSUB2000:NEXT:POKE1974,81:POKE1974+C,6
400 REM CONTINUE TO MINUTES
410 L=A(40)
420 IFPEEK(L-1)=81THEN500
430 L=L-1:POKEL+1,32:POKEL,81:POKEL+C,6:IFPEEK(L-1)=81THEN900
440 IFL=A(40)-4THEN900
450 GOSUB2010:GOTO430
460 POKES+4,20:POKES+11,20:POKES+24,0
500 REM MINUTES FULL, GOTO 5'S
505 Z=1447
510 FORX=5TO22:POKEB(X),81:POKEB(X)+C,6:POKEB(X-5),32:GOSUB2040:NEXT
520 FORX=23TO38:POKEB(X),81:POKEB(X)+C,6
525 Z=Z-1:IFPEEK(Z)<>81ANDZ>1432THENPOKEZ,81:POKEZ+C,6:POKEZ+1,32
530 POKEB(X-4),32:GOSUB2080:NEXT:POKES+4,20:POKES+11,20:POKES+24,0
600 IFPEEK(1444)<>81THEN900:REM OR 5'S ARE FULL
605 Z=1435
612 FORX=1445TO1447:POKEX,81:POKEX+C,6:POKEX-12,32:GOSUB2080:NEXT
620 FORX=18TO28:POKEB(X),81:POKEB(X)+C,6
630 Z=Z+1:POKEZ,32:GOSUB2060:NEXT
640 FORX=29TO37:POKEB(X),81:POKEB(X)+C,6:POKEB(X-12),32
650 GOSUB 2040 :NEXT
659 Z=B(37-11)
660 FORX=37TO44:POKEB(X),81:POKEB(X)+C,6:POKEB(X-11),32
670 Z=Z-1:IFPEEK(Z)<>81THENPOKEZ,81:POKEZ+C,6:POKEZ+1,32
680 GOSUB2040:NEXT
690 IFZ-1>1672ANDPEEK(Z-1)<>81THEN692
691 GOTO695
692 Z=Z-1:POKEZ,81:POKEZ+C,6:POKEZ+1,32:GOSUB2015:GOTO690
695 POKES+4,20:POKES+11,20:POKES+24,0
700 IFPEEK(1685)<>81THEN900
710 REM HOURS ARE FILLED UP
720 FORX=1686TO1690:POKEX,81:POKEX+C,6:POKEX-12,32
730 GOSUB2100:NEXT
740 FORX=1TO12:POKEB(X+26),81:POKEB(X+26)+C,6:POKE1678+X,32
750 GOSUB2100:NEXT
760 FORX=1TO7:POKEB(27+X),32:GOSUB2110:NEXT
900 REM TIME FOR ACTION
905 POKES+4,20:POKES+11,20:POKES+24,0
910 IFRIGHT$(TI$,2)>"57"THEN300
920 GETA$:IFA$<>""THENRUN
930 GOTO900
1000 REM TIME SETTING ROUTINE
1010 PRINT"[147]"TAB(53)"TIME?"TAB(90)"(IN 3 OR 4 DIGITS)"
1020 INPUTA$
1030 A$="0"+A$:A$=RIGHT$(A$,4)
1040 A=VAL(LEFT$(A$,2)):B=VAL(RIGHT$(A$,2)):D=INT(B/5):B=B-5*D
1045 IFA>12ORD>11THEN1000
1050 REM SETTING CLOCK
1055 PRINT"[147]"
1060 FORX=1TOA:POKE1672+X,81:POKE1672+X+C,6:NEXT:REM HOURS
1070 X=0
1080 X=X+1:IFX>BTHEN1100
1090 POKE1234+X,81:POKE1234+X+C,6:GOTO1080:REM MINUTES
1100 X=0
1110 X=X+1:IFX>DTHEN1130
1120 POKE1432+X,81:POKE1432+X+C,6:GOTO1110
1130 GOTO100
2000 REM SOUND
2005 GOTO2020
2010 IFX=37THEN2190
2015 POKES+24,10:POKES+11,21:FORV=1TO4:POKES+8,130
2017 FORW=1TO2:NEXT:POKES+8,240:NEXT:RETURN
2020 IFX<24THENFORY=1TO55:NEXT:RETURN
2030 IFX>33ANDX<37THENPOKES+4,20:POKES+11,20:RETURN
2035 GOTO2010
2040 IFPEEK(1447)=81THENGOTO2190
2060 IFPEEK(1689)=81THENGOTO2190
2080 IFPEEK(B(29))=81THENGOTO2190
2084 IFPEEK(B(32))=81THENGOTO2190
2085 IFPEEK(B(32))=81THENGOTO2190
2090 IFPEEK(B(26))=81THENGOTO2190
2100 IFPEEK(1770)=81THENGOTO2190
2110 IFPEEK(1926)=81THENGOTO2190
2120 GOTO2015
2180 IFX>4THEN2015
2190 POKES+24,15:POKES+4,21:POKES+1,130:FORY=1TO9:NEXT
2195 POKES+4,20:POKES+11,20:FORY=1TO60:NEXT:RETURN